package xuegao.study.mall.rbac.service;

import xuegao.study.mall.common.model.ums.UmsAdmin;
import xuegao.study.mall.common.model.ums.UmsResource;

import java.util.List;

public interface UmsAdminCacheService {

    /**
     * 获取缓存后台用户信息
     */
    UmsAdmin getAdmin(String username);

    /**
     * 设置缓存后台用户信息
     */
    void setAdmin(UmsAdmin admin);

    /**
     * 删除后台用户缓存
     */
    void delAdmin(Long adminId);

    /**
     * 获取后台用户资源列表
     */
    List<UmsResource> getAdminResourceList(Long adminId);

    /**
     * 设置后台用户资源列表缓存
     */
    void setAdminResourceList(Long adminId, List<UmsResource> resourceList);

    /**
     * 删除后台用户资源列表缓存
     */
    void delAdminResourceList(Long adminId);

    /**
     * 根据roleId删除资源
     */
    void deleteResourceListByRoleId(Long roleId);

    /**
     * 根据roleIds删除资源
     */
    void deleteResourceListByRoleIds(List<Long> roleIds);

    /**
     * 根据resourceId删除资源
     */
    void delResourceListByResourceId(Long resourceId);

    /**
     * 设置资源url和角色的映射关系
     */
    void initResourceRoles();
}
